#Token 消耗降低

meng shao
2小时前
[Anthropic 工程博客解读] 高级工具使用功能:工具搜索工具、程序化工具调用和工具使用示例三项技术结合,显著降低 Token 消耗,工具选择更明确,复杂调用更准确。 Anthropic 最近在 Claude 开发者平台上推出了高级工具使用 (advanced tool use) 功能,让 AI 智能体能够高效处理数百甚至数千个工具,而不会被上下文窗口的限制所束缚。想象一下,一个智能体需要同时操作 IDE、Git、Slack、GitHub、Jira 或数据库等系统——传统方式下,工具定义会占用海量 Token,导致上下文膨胀、工具选择错误或调用延迟。这些新功能通过动态加载、代码编排和示例指导,显著提升了智能体的实用性和可扩展性。 核心挑战与应对策略 构建可靠的工具使用系统面临三大痛点: 一是 Token 消耗过高——例如,从多个服务(如 GitHub 和 Slack)拉取工具定义,可能瞬间吃掉 50,000+ Token 二是工具选择不准——类似名称的工具(如 notification-send-user 和 notification-send-channel)容易混淆 三是调用模式模糊——JSON 模式虽规范参数,但无法直观展示复杂格式,如日期或嵌套对象。 Anthropic 的策略是“延迟与智能”:不一次性加载所有工具,而是按需发现和调用;用代码代替自然语言来协调多步操作,减少推理轮次;并通过示例澄清用法。这些方法本质上将工具使用从静态描述转向动态执行,帮助智能体在资源有限的环境中实现复杂工作流。 三大关键技术 1. 工具搜索工具(Tool Search Tool) 这是一个“元工具”,允许智能体在运行时搜索并加载相关工具,而非预加载全部定义。工具标记 defer_loading: true 后,只有搜索工具和少数核心工具进入初始上下文。智能体可通过名称或描述动态拉取,例如查询 GitHub 任务时,只加载 github.createPullRequest。 优势:Token 节省高达 85%(从 77K 降至 8.7K),准确率提升显著(如 Claude Opus 4 从 49% 升至 74%)。实现简单:在工具数组中添加搜索配置,即可支持 MCP 的批量延迟加载。这让智能体像“智能索引”一样,高效导航庞大工具库。 2. 程序化工具调用(Programmatic Tool Calling) 智能体不再逐一用自然语言调用工具,而是生成 Python 代码在沙箱环境中执行多工具协调。工具需标记 allowed_callers: ["code_execution_20250825"],Claude 则输出包含循环、条件和并行执行(如 asyncio.gather)的代码片段。 示例:检查预算超支时,代码可并行获取团队成员、预算和支出数据,只将最终结果(如超支列表)返回给智能体,避免中间数据污染上下文。 优势:Token 减少 37%(从 43,588 降至 27,297),延迟降低(无需多轮推理),准确率在知识检索任务中从 25.6% 升至 28.5%。这特别适合处理大表格或 API 链路,如 Claude for Excel 中的批量数据分析。 3. 工具使用示例(Tool Use Examples) 补充 JSON 模式,提供输入示例来演示实际调用模式。例如,在 create_ticket 工具中,列出日期格式(YYYY-MM-DD)、嵌套对象(如 reporter)和可选参数(紧急升级)。每个工具可附 2-3 个变体示例。 优势:复杂参数准确率从 72% 跃升至 90%,尤其在 ID 格式或参数关联上。这像给智能体一份“用户手册”,让它快速掌握隐含规则。 实验结果与展望 内部基准测试显示,这些功能在 MCP 和 GIA 基准上均有提升:上下文保留率达 85%,整体准确率平均提高 10-20%。例如,在处理大型工具集时,Claude Opus 4.5 的性能从 79.5% 升至 88.1%。实际应用中,它已助力智能体无缝集成 Excel 或 Jira 等场景。